/* 
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

function calcularRiesgoCoronario(edad, genero, colesterolTotal, hdl, sistolic, diastolic, fumador, diabetes) {
    puntosEdad = getPuntosEdad(genero, edad);
    puntosColesterolTotal = getPuntosColesterolTotal(genero, colesterolTotal);
    puntosHdl = getPuntosHDL(genero, hdl);
    puntosPresionArterial = getPuntosPresionArterial(genero, sistolic, diastolic);
    puntosFumador = getPuntosFumador(genero, fumador);
    puntosDiabetes = getPuntosDiabetes(genero, diabetes);

    totalPuntos = puntosEdad + puntosColesterolTotal + puntosHdl + puntosPresionArterial + puntosFumador + puntosDiabetes;
    riesgoEstimado = 0;

    if (genero == "F") {
        tablaRiesgoFemenino = {};
        tablaRiesgoFemenino[-1] = 2;
        tablaRiesgoFemenino[0] = 2;
        tablaRiesgoFemenino[1] = 2;
        tablaRiesgoFemenino[2] = 3;
        tablaRiesgoFemenino[3] = 3;
        tablaRiesgoFemenino[4] = 4;
        tablaRiesgoFemenino[5] = 4;
        tablaRiesgoFemenino[6] = 5;
        tablaRiesgoFemenino[7] = 6;
        tablaRiesgoFemenino[8] = 7;
        tablaRiesgoFemenino[9] = 8;
        tablaRiesgoFemenino[10] = 10;
        tablaRiesgoFemenino[11] = 11;
        tablaRiesgoFemenino[12] = 13;
        tablaRiesgoFemenino[13] = 15;
        tablaRiesgoFemenino[14] = 18;
        tablaRiesgoFemenino[15] = 20;
        tablaRiesgoFemenino[16] = 24;
        
        if (totalPuntos < -1) {
            riesgoEstimado = 1;
        } else  if (totalPuntos > 16) {
            riesgoEstimado = 27;
        } else {
            riesgoEstimado = tablaRiesgoFemenino[totalPuntos];
        }
    } else if (genero == "M") {
        tablaRiesgoMasculino = {};
        tablaRiesgoMasculino[0] = 3;
        tablaRiesgoMasculino[1] = 3;
        tablaRiesgoMasculino[2] = 4;
        tablaRiesgoMasculino[3] = 5;
        tablaRiesgoMasculino[4] = 7;
        tablaRiesgoMasculino[5] = 8;
        tablaRiesgoMasculino[6] = 10;
        tablaRiesgoMasculino[7] = 13;
        tablaRiesgoMasculino[8] = 16;
        tablaRiesgoMasculino[9] = 20;
        tablaRiesgoMasculino[10] = 25;
        tablaRiesgoMasculino[11] = 31;
        tablaRiesgoMasculino[12] = 37;
        tablaRiesgoMasculino[13] = 45;
        
        if (totalPuntos < 0) {
            riesgoEstimado = 2;
        } else  if (totalPuntos > 13) {
            riesgoEstimado = 53;
        } else {
            riesgoEstimado = tablaRiesgoMasculino[totalPuntos];
        }
    } else {
        // error
    }

    return riesgoEstimado;

}

function getPuntosFumador(genero, fumador) {
    if (genero == "F") {
        if (fumador) {
            return 2;
        } else {
            return 0;
        }
    } else if (genero == "M") {
        if (fumador) {
            return 2;
        } else {
            return 0;
        }
    } else {
        // error
    }
}

function getPuntosDiabetes(genero, diabetes) {
    if (genero == "F") {
        if (diabetes) {
            return 4;
        } else {
            return 0;
        }
    } else if (genero == "M") {
        if (diabetes) {
            return 2;
        } else {
            return 0;
        }
    } else {
        // error
    }
}

function getPuntosPresionArterial(genero, sistolic, diastolic) {
    puntos = 0;
    if (genero == "F") {
        if (sistolic >= 160 || diastolic >= 100) {
            puntos = 3;
        } else if (sistolic >= 140 || diastolic >= 90) {
            puntos = 2;
        } else if (sistolic >= 130 || diastolic >= 85) {
            puntos = 0;
        } else if (sistolic >= 120 || diastolic >= 80) {
            puntos = 0;
        } else {
            puntos = -3;
        }
    } else if (genero == "M") {
        if (sistolic >= 160 || diastolic >= 100) {
            puntos = 3;
        } else if (sistolic >= 140 || diastolic >= 90) {
            puntos = 2;
        } else if (sistolic >= 130 || diastolic >= 85) {
            puntos = 1;
        } else if (sistolic >= 120 || diastolic >= 80) {
            puntos = 0;
        } else {
            puntos = 0;
        }
    } else {
        // error
    }
    return puntos;
}

function getPuntosHDL(genero, hdl) {
    puntos = 0;
    if (genero == "F") {
        if (hdl < 35) {
            puntos = 5;
        } else if (hdl < 45) {
            puntos = 2;
        } else if (hdl < 50) {
            puntos = 1;
        } else if (hdl < 60) {
            puntos = 0;
        } else if (hdl >= 60) {
            puntos = -3;
        }
    } else if (genero == "M") {
        if (hdl < 35) {
            puntos = 2;
        } else if (hdl < 45) {
            puntos = 1;
        } else if (hdl < 50) {
            puntos = 0;
        } else if (hdl < 60) {
            puntos = 0;
        } else if (hdl >= 60) {
            puntos = -2;
        }
    } else {
        // error
    }
    return puntos;
}
function getPuntosColesterolTotal(genero, colesterolTotal) {
    puntos = 0;
    if (genero == "F") {
        if (colesterolTotal < 160) {
            puntos = -2;
        } else if (colesterolTotal < 200) {
            puntos = 0;
        } else if (colesterolTotal < 240) {
            puntos = 1;
        } else if (colesterolTotal < 280) {
            puntos = 1;
        } else if (colesterolTotal >= 280) {
            puntos = 3;
        }
    } else if (genero == "M") {
        if (colesterolTotal < 160) {
            puntos = -3;
        } else if (colesterolTotal < 200) {
            puntos = 0;
        } else if (colesterolTotal < 240) {
            puntos = 1;
        } else if (colesterolTotal < 280) {
            puntos = 2;
        } else if (colesterolTotal >= 280) {
            puntos = 3;
        }
    } else {
        // error
    }
    return puntos;
}

function getPuntosEdad(genero, edad) {
    puntos = 0;
    if (genero == "F") {
        if (edad < 30) {
            // min
            puntos = -9;
        } else if (edad < 35) {
            puntos = -9;
        } else if (edad < 40) {
            puntos = -4;
        } else if (edad < 45) {
            puntos = 0;
        } else if (edad < 50) {
            puntos = 3;
        } else if (edad < 55) {
            puntos = 6;
        } else if (edad < 60) {
            puntos = 7;
        } else if (edad < 65) {
            puntos = 8;
        } else if (edad < 70) {
            puntos = 8;
        } else if (edad < 75) {
            puntos = 8;
        } else if (edad >= 75) {
            // max
            puntos = 8;
        }
    } else if (genero == "M") {
        if (edad < 30) {
            // min
            puntos = -1;
        } else if (edad < 35) {
            puntos = -1;
        } else if (edad < 40) {
            puntos = 0;
        } else if (edad < 45) {
            puntos = 1;
        } else if (edad < 50) {
            puntos = 2;
        } else if (edad < 55) {
            puntos = 3;
        } else if (edad < 60) {
            puntos = 4;
        } else if (edad < 65) {
            puntos = 5;
        } else if (edad < 70) {
            puntos = 6;
        } else if (edad < 75) {
            puntos = 7;
        } else if (edad >= 75) {
            // max
            puntos = 7;
        }
    } else {
        // error
    }
    return puntos;
}



